import axios from "axios";
import router from "@/router";

axios.defaults.withCredentials = true//// Cookie跨域

const http_admin = axios.create({
    //通用请求前端
    baseURL:'http://localhost:8888',
    timeout:10000,//超时时间
})

// 添加请求拦截器
http_admin.interceptors.request.use( config=> {
    // 在发送请求之前做些什么
    //获取浏览器里存储的token，并将放到
    let aToken = localStorage.getItem("aToken")
    
    if(aToken){
        //请求头添加a-token
        config.headers['a-token']=aToken
        
    }
    return config;
    // console.log('请求头------',config.headers);
    
},error=> {
    // 对请求错误做些什么
    // Promise.reject(error)
    // 
    return Promise.reject(error);
});

// 添加响应拦截器
http_admin.interceptors.response.use(response=> {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    let data = response.data;
    // //只要前台被拦截的请求里含有这两个参数，就跳到登录界面
    if(!data.success && data.msg ==="NoUser"){
        router.push({name:'Login'})
    }
    // console.log(response);
        
    return response;
}, /* error=> {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
} */
error => {
    
    return Promise.reject(error)
  }
);

export default http_admin